home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / hash / Hash_EnumFirst.man < prev    next >
Text File  |  1988-12-30  |  2KB  |  54 lines

  1. ' $Header: /sprite/src/lib/c/hash/RCS/Hash_EnumFirst.man,v 1.1 88/12/30 15:05:20 ouster Exp $ SPRITE (Berkeley)
  2. .so \*(]ltmac.sprite
  3. .HS Hash_EnumFirst lib
  4. .BS
  5. .SH NAME
  6. Hash_EnumFirst, Hash_EnumNext \- step through all the entries in a hash table 
  7. .SH SYNOPSIS
  8. .nf
  9. \fB#include <hash.h>\fR
  10.  
  11. Hash_Entry *
  12. \fBHash_EnumFirst\fR(\fItablePtr, searchPtr\fR)
  13.  
  14. Hash_Entry *
  15. \fBHash_EnumNext\fR(\fIsearchPtr\fP)
  16. .AS Hash_Search *searchPtr
  17. .SH ARGUMENTS
  18. .AP Hash_Table *tablePtr in
  19. Hash table whose entries are to be enumerated.
  20. .AP Hash_Search *searchPtr in
  21. Structure in which information can be stored about the state of the
  22. search between calls to \fBHash_EnumFirst\fR and/or \fBHash_EnumNext\fR.
  23. .BE
  24.  
  25. .SH DESCRIPTION
  26. .LP
  27. \fBHash_EnumFirst\fR and \fBHash_EnumNext\fR permit each of the entries in a hash
  28. table to be examined in order.  \fBHash_EnumFirst\fR returns the first entry
  29. in the given hash table and sets up the Hash_Search structure
  30. at \fI*searchPtr\fP;  if the
  31. table is empty it returns NULL.  \fBHash_EnumNext\fR returns the
  32. next entry in the table using the information stored in \fI*searchPtr\fP,
  33. and updates the contents of \fI*searchPtr\fP;  when the entire table
  34. has been scanned, it returns NULL.  Entries are returned in order of
  35. their position in the table's buckets, which does not usually make
  36. any sense to the caller.
  37. .LP
  38. A typical usage of these procedures is:
  39. .DS
  40. Hash_Search search;
  41. Hash_Entry *entryPtr;
  42. Hash_Table table;
  43.  
  44.  ...
  45.  
  46. for (entryPtr = Hash_EnumFirst(&table, &search);
  47.     entryPtr != NULL; entryPtr = Hash_EnumNext(&search)) {
  48.     ...
  49. }
  50. .DE
  51.  
  52. .SH KEYWORDS
  53. enumerate, hash table
  54.